Alguem sabe porque quando eu ataco ball em certo pokemon o servidor da uma travada e depois volta?
- Fórum
- OTServ
- Suporte
- Tópicos Sem Resposta
- [Encerrado] [Pokemon] Dúvidas? - Pda
[Encerrado] [Pokemon] Dúvidas? - Pda
Por lucashgas, 10 de jan. de 2012 em Tópicos Sem Resposta
info
Grupo: Campones
Registrado: 06/08/12
Posts: 58
Reputação: +2

info
Grupo: Campones
Registrado: 06/01/12
Posts: 6
Reputação: 0

Alguem Poderia me passar um mapa para mim usar como base?
add no msn gabrielferrarez31@hotmail.com
quem me ajudar darei rep+
info
Grupo: Conde
Registrado: 03/01/12
Posts: 884
Reputação: +233
Char no Tibia: Segredo

Alguem Poderia me passar um mapa para mim usar como base?
add no msn gabrielferrarez31@hotmail.com
quem me ajudar darei rep+
serve esse KPDO?
http://www.4shared.com/rar/LiZaKNaP/kpdomaprespawngyms-dashadvance.html?
@Slicer
Gostaria de tirar uma dúvida, e se tiver como resolver, porfavor, me de a solução. darei REP ++
Vamos lá, gostaria de saber como faço pro pokemon Selvagem ficar mais agressivo com o Player quando há a perda de pokemon.
Exemplo : Estou num respawn de Electabuzz, usando um Pokemon Crystal Onix.. e Meu Crystal Onix morre pro Electabuzz, e o Electabuzz ao invés de chegar atacando o player violentamente ele demora um pouco no melee e depois de um determinado tempo ele usa o Attack no Player.
Gostaria que quando o player já perdesse o pokemon o Selvagem já apelasse rapidamente. Obrigado dês de já.
info
Grupo: Príncipe
Registrado: 19/08/10
Posts: 4k
Reputação: +1.1k
Gênero: Masculino

sei la mano...
a % de sair atks dos pokes selvagens eh determinada no .xml deles... ;x n sei se tem como fazer ele soltar mais skills de uma hora pra outra... ;x
@zeref
tem nenhuma outra function q preste pra remover item? ;x a doRemoveItem(item, n) ta me trolando... na 1* passada do 'for' ela n retira a qntdade de 'type' do item
ele soh tira na 2* passada do 'for'.. ;/
info
Grupo: Conde
Registrado: 06/08/11
Posts: 752
Reputação: +112

Boost System with Stones Agrupaveis
local ballslot =12355
local ballslot_run = 12352
local stoneslot = 12354
local stoneslot_run = 12353
local button = 12356
local button_run = 12357
function isRunning(id)
if isInArray({button_run, stoneslot_run, ballslot_run}, id) then
return true
end
return false
end
boost_stones = {
["Bulbasaur"] = {leaf},
["Ivysaur"] = {leaf},
["Venusaur"] = {leaf},
["Charmander"] = {fire},
["Charmeleon"] = {fire},
["Charizard"] = {fire},
["Squirtle"] = {water},
["Wartortle"] = {water},
["Blastoise"] = {water},
["Caterpie"] = {coccon},
["Metapod"] = {coccon},
["Butterfree"] = {coccon},
["Weedle"] = {coccon},
["Kakuna"] = {coccon},
["Beedrill"] = {coccon},
["Pidgey"] = {heart},
["Pidgeotto"] = {heart},
["Pidgeot"] = {heart},
["Rattata"] = {heart},
["Raticate"] = {heart},
["Spearow"] = {heart},
["Fearow"] = {heart},
["Ekans"] = {venom},
["Arbok"] = {venom},
["Pikachu"] = {thunder},
["Raichu"] = {thunder},
["Sandshrew"] = {earth},
["Sandslash"] = {earth},
["Nidoran Female"] = {venom},
["Nidorina"] = {venom},
["Nidoqueen"] = {venom, earth},
["Nidoran Male"] = {venom},
["Nidorino"] = {venom},
["Nidoking"] = {venom, earth},
["Clefairy"] = {heart},
["Clefable"] = {heart},
["Vulpix"] = {fire},
["Ninetales"] = {fire},
["Jigglypuff"] = {heart},
["Wigglytuff"] = {heart},
["Zubat"] = {venom},
["Golbat"] = {venom},
["Oddish"] = {leaf, venom},
["Gloom"] = {leaf, venom},
["Vileplume"] = {leaf, venom},
["Paras"] = {coccon, leaf},
["Parasect"] = {coccon, leaf},
["Venonat"] = {coccon, venom},
["Venomoth"] = {coccon, venom},
["Diglett"] = {earth},
["Dugtrio"] = {earth},
["Meowth"] = {heart},
["Persian"] = {heart},
["Psyduck"] = {water},
["Golduck"] = {water, enigma},
["Mankey"] = {punch},
["Primeape"] = {punch},
["Growlithe"] = {fire},
["Arcanine"] = {fire},
["Poliwag"] = {water},
["Poliwhirl"] = {water},
["Poliwrath"] = {water, punch},
["Abra"] = {enigma},
["Kadabra"] = {enigma},
["Alakazam"] = {enigma},
["Machop"] = {punch},
["Machoke"] = {punch},
["Machamp"] = {punch},
["Bellsprout"] = {leaf, venom},
["Weepinbell"] = {leaf, venom},
["Victreebel"] = {leaf, venom},
["Tentacool"] = {water, venom},
["Tentacruel"] = {water, venom},
["Geodude"] = {earth, rock},
["Graveler"] = {earth, rock},
["Golem"] = {earth,, rock},
["Ponyta"] = {fire}
["Rapidash"] = {fire},
["Slowpoke"] = {water, enigma},
["Slowbro"] = {water, enigma},
["Magnemite"] = {thunder, metal},
["Magneton"] = {thunder, metal},
["Farfetch'd"] = {heart},
["Doduo"] = {heart},
["Dodrio"] = {heart},
["Seel"] = {water, ice},
["Dewgong"] = {water, ice},
["Grimer"] = {venom},
["Muk"] = {venom},
["Shellder"] = {water, ice},
["Cloyster"] = {water, ice},
["Gastly"] = {dark},
["Haunter"] = {dark},
["Gengar"] = {dark},
["Onix"] = {rock, earth},
["Drowzee"] = {enigma},
["Hypno"] = {enigma},
["Krabby"] = {water},
["Kingler"] = {water},
["Voltorb"] = {thunder},
["Electrode"] = {thunder},
["Exeggcute"] = {enigma, leaf},
["Exeggutor"] = {enigma, leaf},
["Cubone"] = {earth},
["Marowak"] = {earth},
["Hitmonlee"] = {punch},
["Hitmonchan"] = {punch},
["Lickitung"] = {heart},
["Koffing"] = {venom},
["Weezing"] = {venom},
["Rhyhorn"] = {earth, rock},
["Rhydon"] = {earth, rock},
["Chansey"] = {heart},
["Tangela"] = {leaf},
["Kangaskhan"] = {heart},
["Horsea"] = {water},
["Seadra"] = {water},
["Goldeen"] = {water},
["Seaking"] = {water},
["Staryu"] = {water},
["Starmie"] = {water},
["Mr. Mime"] = {enigma},
["Scyther"] = {coccon},
["Jynx"] = {enigma, ice},
["Electabuzz"] = {thunder},
["Magmar"] = {fire},
["Pinsir"] = {coccon},
["Tauros"] = {heart},
["Magikarp"] = {water},
["Gyarados"] = {water, crystal},
["Lapras"] = {water, ice},
["Ditto"] = {heart},
["Eevee"] = {heart},
["Vaporeon"] = {water},
["Jolteon"] = {thunder},
["Flareon"] = {fire},
["Porygon"] = {heart, enigma},
["Omanyte"] = {rock, water},
["Omastar"] = {rock, water},
["Kabuto"] = {rock, water},
["Kabutops"] = {rock, water},
["Aerodactyl"] = {rock},
["Snorlax"] = {heart},
["Articuno"] = {ice},
["Zapdos"] = {thunder},
["Moltres"] = {fire},
["Dratini"] = {crystal},
["Dragonair"] = {crystal},
["Dragonite"] = {crystal},
["Mewtwo"] = {enigma},
["Mew"] = {enigma}}
function doRestoreBoostMachine(cid, b_pos, p_pos, s_pos, msg, msg2)
doSendAnimatedText(b_pos, "DONE.", 215)
if isCreature(cid) then
doCreatureSetNoMove(cid, false)
doPlayerSendTextMessage(cid, 27, msg)
doPlayerSendTextMessage(cid, 27, msg2)
end
local ball_s = getTileItemById(p_pos, ballslot_run)
doTransformItem(ball_s.uid, ballslot)
local stne_s = getTileItemById(s_pos, stoneslot_run)
doTransformItem(stne_s.uid, stoneslot)
local butn_s = getTileItemById(b_pos, button_run)
doTransformItem(butn_s.uid, button)
end
local stones_required = { -- custo base de stones para boostar
[heart] = 1,
[leaf] = 1,
[water] = 1,
[venom] = 1,
[thunder] = 1,
[rock] = 1,
[punch] = 1,
[fire] = 1,
[coccon] = 1,
[crystal] = 1,
[dark] = 1,
[earth] = 1,
[enigma] = 1,
[ice] = 1,
}
local stone_increase = { -- a cada quantos boosts irá aumentar o custo de stones
[heart] = 3,
[leaf] = 3,
[water] = 3,
[venom] = 4,
[thunder] = 4,
[rock] = 3,
[punch] = 4,
[fire] = 3,
[coccon] = 2,
[crystal] = 15,
[dark] = 4,
[earth] = 4,
[enigma] = 4,
[ice] = 4,
}
function onUse(cid, item, topos, item2, frompos)
if isRunning(item.itemid) then
doPlayerSendCancel(cid, "Wait until boosting finishes.")
return true
end
if item.itemid == button then
local pbpos = topos
pbpos.x = pbpos.x + 1
local ball_slot = getTileItemById(pbpos, ballslot)
local myball = getContainerItem(ball_slot.uid, 0)
if myball.uid <= 0 or getItemWeight(myball.uid) == 0 then
doPlayerSendCancel(cid, "You need to put a pokeball in the ball slot.")
return true
end
local pokemon = getItemAttribute(myball.uid, "poke")
local boost = getItemAttribute(myball.uid, "boost") or 0
if boost >= 50 then
doPlayerSendCancel(cid, "Your pokemon is already at maximum boost.")
return true
end
local stnpos = pbpos
stnpos.x = stnpos.x - 2
local stone_slot = getTileItemById(stnpos, stoneslot)
local stone = getContainerItem(stone_slot.uid, 0)
if stone.uid <= 0 then
doPlayerSendCancel(cid, "You need to put a stone in the stone slot.")
return true
end
if not isStone(stone.itemid) then
doPlayerSendCancel(cid, "Please, put only stones in the stone slot.")
return true
end
if not isInArray(boost_stones[pokemon], stone.itemid) then
local cancelstr = "Sorry, you are not using the correct stone."
if #boost_stones[pokemon] > 1 then
local stonesused = ""
cancelstr = cancelstr.." This pokemon needs "
for su = 1, #boost_stones[pokemon] do
local n = doCorrectString(getItemNameById(boost_stones[pokemon][su]))
if su == #boost_stones[pokemon] then
stonesused = stonesused.." or "..getArticle(n).." "..n..""
elseif su == 1 then
stonesused = stonesused..""..getArticle(n).." "..n..""
else
stonesused = stonesused..", "..n..""
end
end
cancelstr = cancelstr..""..stonesused.." to be boosted."
else
cancelstr = cancelstr.." This pokemon needs a "..doCorrectString(getItemNameById(boost_stones[pokemon][1])).." to be boosted."
end
doPlayerSendCancel(cid, cancelstr)
return true
end
local removeStones = 0
local extraStones = math.floor(boost / stone_increase[stone.itemid])
local required_stones = stones_required[stone.itemid] + extraStones
local boosts = 0
local availableStones = 0
for a = 0, getContainerSize(stone_slot.uid) - 1 do
local it = getContainerItem(stone_slot.uid, a)
if it.uid > 0 then
if not isStone(it.itemid) then
doPlayerSendCancel(cid, "Please, put only stones in the stone slot.")
return true
end
if it.itemid ~= stone.itemid then
doPlayerSendCancel(cid, "Please, put only one type of stone in the stone slot.")
return true
end
availableStones = availableStones + it.type
end
end
for a = 1, availableStones do
if required_stones > 0 then
required_stones = required_stones - 1
if required_stones <= 0 then
boosts = boosts + 1
removeStones = removeStones + stones_required[stone.itemid] + extraStones
if boost + boosts <= 49 then
extraStones = math.floor((boost + boosts) / stone_increase[stone.itemid])
required_stones = stones_required[stone.itemid] + extraStones
end
end
end
end
if required_stones > 0 and boosts == 0 then
doPlayerSendCancel(cid, "You need more stones to boost this pokemon.")
return true
end
for b = 1, removeStones do
local i = getContainerItem(stone_slot.uid, 0)
doChangeTypeItem(i.uid, i.type - 1)
end
local off = pokes[pokemon].offense * boost_rate * boosts
local def = pokes[pokemon].defense * boost_rate * boosts
local agi = pokes[pokemon].agility * boosts
local spatk = pokes[pokemon].specialattack * boost_rate * boosts
local vit = pokes[pokemon].vitality * boost_rate * boosts
doSetItemAttribute(myball.uid, "boost", boost + boosts)
doItemSetAttribute(myball.uid, "offense", getItemAttribute(myball.uid, "offense") + off)
doItemSetAttribute(myball.uid, "defense", getItemAttribute(myball.uid, "defense") + def)
doItemSetAttribute(myball.uid, "speed", getItemAttribute(myball.uid, "speed") + agi)
doItemSetAttribute(myball.uid, "specialattack", getItemAttribute(myball.uid, "specialattack") + spatk)
doItemSetAttribute(myball.uid, "vitality", getItemAttribute(myball.uid, "vitality") + vit)
local msg = "Your "..getPokeballName(myball.uid).." ["..getItemAttribute(myball.uid, "level").."] has been boosted!"
local msg2 = "• Boost: "..(boost + boosts).." (+"..boosts..") • Offense: +"..doMathDecimal(off).." • Defense: +"..doMathDecimal(def).." • Spc. Atk: +"..doMathDecimal(spatk).." • Agility: +"..doMathDecimal(agi).." • Vitality: +"..doMathDecimal(vit)..""
local downpos = getThingPos(cid)
downpos.y = downpos.y + 1
local mypos = getThingPos(cid)
doTeleportThing(cid, downpos, false)
doTeleportThing(cid, mypos, false)
doTransformItem(ball_slot.uid, ballslot_run)
doTransformItem(stone_slot.uid, stoneslot_run)
doTransformItem(item.uid, button_run)
doCreatureSetNoMove(cid, true)
doCreatureAddCondition(cid, boostcondition)
addEvent(doRestoreBoostMachine, 3000, cid, getThingPos(item.uid), getThingPos(ball_slot.uid), getThingPos(stone_slot.uid), msg, msg2)
return true
end
end
Creditos: brun123
info
Grupo: Príncipe
Registrado: 19/08/10
Posts: 4k
Reputação: +1.1k
Gênero: Masculino

@zeref
ahhh se eu soubese dessa function..
doChangeTypeItem(i.uid, i.type - 1)
u,U
info
Grupo: Visconde
Registrado: 24/07/12
Posts: 265
Reputação: +15

Ficou perfeito! Valeu por trazer para o forum esse script. Muito bom mesmo. Sendo que está incompleto em pequenos fatores, mas isso é fácil de resolver. Os slot não fecham na hora do boost e nem exibe a animação, mas só adicionar as funções. Valeu ai.
[12/09/2012 18:10:12] [Error - LuaScriptInterface::loadFile] data/actions/scripts/boost.lua:89: unexpected symbol near ','
[12/09/2012 18:10:12] [Warning - Event::loadScript] Cannot load script (data/actions/scripts/boost.lua)
[12/09/2012 18:10:12] data/actions/scripts/boost.lua:89: unexpected symbol near ','
Linha 89 tava com uma "," a mais
["Golem"] = {earth,, rock},
Mas mesmo concertando isso não exibe a animação e nem os slots fecham ao boosta.
[12/09/2012 18:20:38] [Error - Action Interface]
[12/09/2012 18:20:38] data/actions/scripts/boost.lua:onUse
[12/09/2012 18:20:38] Description:
[12/09/2012 18:20:38] data/actions/scripts/boost.lua:317: attempt to perform arithmetic on a nil value
[12/09/2012 18:20:38] stack traceback:
[12/09/2012 18:20:38] data/actions/scripts/boost.lua:317: in function <data/actions/scripts/boost.lua:215>
Editado Setembro 12 por pedrowarlock
info
Grupo: Conde
Registrado: 06/08/11
Posts: 752
Reputação: +112

@Slicer e @pedrowarlock
Não fui eu que fiz, não é a mim que vocês deveriam agradecer e sim a quem fez.
Ainda não testei mas parece funcional e simples, depois verei com calma oque mudou e talz ![]()
Depois vejo se trago 1 sistema inutil pro povo haushausa
info
Grupo: Infante
Registrado: 27/08/11
Posts: 1.9k
Reputação: +85
Gênero: Masculino
Char no Tibia: Bruno Maciel

@Slicer
Um duvida sobre seu serve !!
1 - Seu serve tem o systema que tem no pokexgames quando voçe da tanto de cath ganha uma oufit
2 - o mark o preço dele quando conpra ou vende ta igual do pokexgames
Essas sao so duvidas nao to pedindo pra voçe nao fazer nada em nem add nada so estou com duvida se seu serve tem issu ^^
info
Grupo: Barão
Registrado: 01/05/11
Posts: 234
Reputação: +43
Gênero: Masculino

@brun123
Vlw pelo sistema ![]()
@all
editei o boost do brun123 para o server do slicer agora ta fechando os slots e animaçao da boost ![]()
\/\/\/\/\/\/\/\/\/\/\/\/\/
local ballslot =12355
local ballslot_run = 12352
local stoneslot = 12354
local stoneslot_run = 12353
local button = 12356
local button_run = 12357
function isRunning(id)
if isInArray({button_run, stoneslot_run, ballslot_run}, id) then
return true
end
return false
end
boost_stones = {
["Bulbasaur"] = {leaf},
["Ivysaur"] = {leaf},
["Venusaur"] = {leaf},
["Charmander"] = {fire},
["Charmeleon"] = {fire},
["Charizard"] = {fire},
["Squirtle"] = {water},
["Wartortle"] = {water},
["Blastoise"] = {water},
["Caterpie"] = {coccon},
["Metapod"] = {coccon},
["Butterfree"] = {coccon},
["Weedle"] = {coccon},
["Kakuna"] = {coccon},
["Beedrill"] = {coccon},
["Pidgey"] = {heart},
["Pidgeotto"] = {heart},
["Pidgeot"] = {heart},
["Rattata"] = {heart},
["Raticate"] = {heart},
["Spearow"] = {heart},
["Fearow"] = {heart},
["Ekans"] = {venom},
["Arbok"] = {venom},
["Pikachu"] = {thunder},
["Raichu"] = {thunder},
["Sandshrew"] = {earth},
["Sandslash"] = {earth},
["Nidoran Female"] = {venom},
["Nidorina"] = {venom},
["Nidoqueen"] = {venom, earth},
["Nidoran Male"] = {venom},
["Nidorino"] = {venom},
["Nidoking"] = {venom, earth},
["Clefairy"] = {heart},
["Clefable"] = {heart},
["Vulpix"] = {fire},
["Ninetales"] = {fire},
["Jigglypuff"] = {heart},
["Wigglytuff"] = {heart},
["Zubat"] = {venom},
["Golbat"] = {venom},
["Oddish"] = {leaf, venom},
["Gloom"] = {leaf, venom},
["Vileplume"] = {leaf, venom},
["Paras"] = {coccon, leaf},
["Parasect"] = {coccon, leaf},
["Venonat"] = {coccon, venom},
["Venomoth"] = {coccon, venom},
["Diglett"] = {earth},
["Dugtrio"] = {earth},
["Meowth"] = {heart},
["Persian"] = {heart},
["Psyduck"] = {water},
["Golduck"] = {water, enigma},
["Mankey"] = {punch},
["Primeape"] = {punch},
["Growlithe"] = {fire},
["Arcanine"] = {fire},
["Poliwag"] = {water},
["Poliwhirl"] = {water},
["Poliwrath"] = {water, punch},
["Abra"] = {enigma},
["Kadabra"] = {enigma},
["Alakazam"] = {enigma},
["Machop"] = {punch},
["Machoke"] = {punch},
["Machamp"] = {punch},
["Bellsprout"] = {leaf, venom},
["Weepinbell"] = {leaf, venom},
["Victreebel"] = {leaf, venom},
["Tentacool"] = {water, venom},
["Tentacruel"] = {water, venom},
["Geodude"] = {earth, rock},
["Graveler"] = {earth, rock},
["Golem"] = {earth, rock},
["Ponyta"] = {fire},
["Rapidash"] = {fire},
["Slowpoke"] = {water, enigma},
["Slowbro"] = {water, enigma},
["Magnemite"] = {thunder, metal},
["Magneton"] = {thunder, metal},
["Farfetch'd"] = {heart},
["Doduo"] = {heart},
["Dodrio"] = {heart},
["Seel"] = {water, ice},
["Dewgong"] = {water, ice},
["Grimer"] = {venom},
["Muk"] = {venom},
["Shellder"] = {water, ice},
["Cloyster"] = {water, ice},
["Gastly"] = {dark},
["Haunter"] = {dark},
["Gengar"] = {dark},
["Onix"] = {rock, earth},
["Drowzee"] = {enigma},
["Hypno"] = {enigma},
["Krabby"] = {water},
["Kingler"] = {water},
["Voltorb"] = {thunder},
["Electrode"] = {thunder},
["Exeggcute"] = {enigma, leaf},
["Exeggutor"] = {enigma, leaf},
["Cubone"] = {earth},
["Marowak"] = {earth},
["Hitmonlee"] = {punch},
["Hitmonchan"] = {punch},
["Lickitung"] = {heart},
["Koffing"] = {venom},
["Weezing"] = {venom},
["Rhyhorn"] = {earth, rock},
["Rhydon"] = {earth, rock},
["Chansey"] = {heart},
["Tangela"] = {leaf},
["Kangaskhan"] = {heart},
["Horsea"] = {water},
["Seadra"] = {water},
["Goldeen"] = {water},
["Seaking"] = {water},
["Staryu"] = {water},
["Starmie"] = {water},
["Mr. Mime"] = {enigma},
["Scyther"] = {coccon},
["Jynx"] = {enigma, ice},
["Electabuzz"] = {thunder},
["Magmar"] = {fire},
["Pinsir"] = {coccon},
["Tauros"] = {heart},
["Magikarp"] = {water},
["Gyarados"] = {water, crystal},
["Lapras"] = {water, ice},
["Ditto"] = {heart},
["Eevee"] = {heart},
["Vaporeon"] = {water},
["Jolteon"] = {thunder},
["Flareon"] = {fire},
["Porygon"] = {heart, enigma},
["Omanyte"] = {rock, water},
["Omastar"] = {rock, water},
["Kabuto"] = {rock, water},
["Kabutops"] = {rock, water},
["Aerodactyl"] = {rock},
["Snorlax"] = {heart},
["Articuno"] = {ice},
["Zapdos"] = {thunder},
["Moltres"] = {fire},
["Dratini"] = {crystal},
["Dragonair"] = {crystal},
["Dragonite"] = {crystal},
["Mewtwo"] = {enigma},
["Mew"] = {enigma},
--
["Shiny Venusaur"] = {leaf},
["Shiny Charizard"] = {fire},
["Shiny Blastoise"] = {water},
["Shiny Butterfree"] = {coccon},
["Shiny Beedrill"] = {coccon},
["Shiny Pidgeot"] = {heart},
["Shiny Rattata"] = {heart},
["Shiny Raticate"] = {heart},
["Shiny Fearow"] = {heart},
["Shiny Raichu"] = {thunder},
["Shiny Nidoking"] = {venom, earth},
["Shiny Zubat"] = {venom},
["Shiny Golbat"] = {venom},
["Shiny Oddish"] = {leaf, venom},
["Shiny Vileplume"] = {leaf, venom},
["Shiny Paras"] = {coccon, leaf},
["Shiny Parasect"] = {coccon, leaf},
["Shiny Venonat"] = {coccon, venom},
["Shiny Venomoth"] = {coccon, venom},
["Shiny Growlithe"] = {fire},
["Shiny Arcanine"] = {fire},
["Shiny Abra"] = {enigma},
["Shiny Alakazam"] = {enigma},
["Shiny Tentacool"] = {water, venom},
["Shiny Tentacruel"] = {water, venom},
["Shiny Golem"] = {earth, rock},
["Shiny Farfetch'd"] = {heart},
["Shiny Grimer"] = {venom},
["Shiny Muk"] = {venom},
["Shiny Gengar"] = {dark},
["Shiny Onix"] = {rock, earth},
["Shiny Hypno"] = {enigma},
["Shiny Krabby"] = {water},
["Shiny Kingler"] = {water},
["Shiny Voltorb"] = {thunder},
["Shiny Electrode"] = {thunder},
["Shiny Cubone"] = {earth},
["Shiny Marowak"] = {earth},
["Shiny Hitmonlee"] = {punch},
["Shiny Hitmonchan"] = {punch},
["Shiny Hitmontop"] = {punch}, --alterado v1.4
["Shiny Tangela"] = {leaf},
["Shiny Horsea"] = {water},
["Shiny Seadra"] = {water},
["Shiny Mr. Mime"] = {enigma},
["Shiny Scyther"] = {coccon},
["Shiny Jynx"] = {enigma, ice},
["Shiny Electabuzz"] = {thunder},
["Shiny Pinsir"] = {coccon},
["Shiny Magikarp"] = {water},
["Shiny Gyarados"] = {water, crystal},
["Shiny Vaporeon"] = {water},
["Shiny Jolteon"] = {thunder},
["Shiny Flareon"] = {fire},
["Shiny Snorlax"] = {heart},
["Shiny Dratini"] = {crystal},
["Shiny Dragonair"] = {crystal},
--
["Chikorita"] = {leaf},
["Bayleef"] = {leaf},
["Meganium"] = {leaf},
["Cyndaquil"] = {fire},
["Quilava"] = {fire},
["Typhlosion"] = {fire},
["Totodile"] = {water},
["Croconaw"] = {water},
["Feraligatr"] = {water},
["Sentret"] = {heart},
["Furret"] = {heart},
["Hoothoot"] = {heart, enigma},
["Noctowl"] = {heart, enigma},
["Ledyba"] = {coccon},
["Ledian"] = {coccon},
["Spinarak"] = {coccon, venom},
["Ariados"] = {coccon, venom},
["Crobat"] = {venom},
["Chinchou"] = {water, thunder},
["Lanturn"] = {water, thunder},
["Pichu"] = {thunder},
["Cleffa"] = {heart},
["Iglybuff"] = {venom},
["Natu"] = {enigma},
["Xatu"] = {enigma},
["Mareep"] = {thunder},
["Flaaffy"] = {thunder},
["Ampharos"] = {thunder},
["Bellossom"] = {leaf},
["Marill"] = {water},
["Azulmarill"] = {water},
["Sudowoodo"] = {rock, earth},
["Politoed"] = {water, earth},
["Hoppip"] = {leaf},
["Skiploom"] = {leaf},
["Jumpluff"] = {leaf},
["Aipom"] = {heart},
["Sunkern"] = {leaf},
["Sunflora"] = {leaf},
["Yanma"] = {venom, coccon},
["Wooper"] = {water},
["Quagsire"] = {water, earth},
["Murkrow"] = {dark},
["Slowking"] = {water,enigma},
["Misdreavus"] = {dark},
["Wobbuffet"] = {enigma},
["Girafarig"] = {enigma},
["Pineco"] = {coccon},
["Forretress"] = {coccon},
["Gligar"] = {dark, heart},
["Steelix"] = {earth, rock},
["Snubbull"] = {heart},
["Granbull"] = {heart},
["Qwilfish"] = {water},
["Shuckle"] = {earth},
["Heracross"] = {coccon},
["Teddiursa"] = {heart},
["Ursaring"] = {heart, dark},
["Slugma"] = {fire},
["Magcargo"] = {fire},
["Swinub"] = {ice, earth},
["Piloswine"] = {ice, earth},
["Corsola"] = {water},
["Remoraid"] = {water},
["Octillery"] = {water},
["Delibird"] = {ice, heart},
["Mantine"] = {water},
["Skarmory"] = {heart},
["Houndour"] = {fire, dark},
["Houndoom"] = {fire, dark},
["Kingdra"] = {water, crystal},
["Phanpy"] = {earth},
["Donphan"] = {earth},
["porygon2"] = {enigma},
["Stantler"] = {heart},
["Smeargle"] = {heart},
["Tyrogue"] = {punch},
["Hitmontop"] = {punch},
["Smoochum"] = {ice, enigma},
["Elekid"] = {thunder},
["Magby"] = {fire},
["Miltank"] = {heart},
["Blissey"] = {heart},
["Raikou"] = {thunder},
["Entei"] = {fire},
["Suicune"] = {water},
["Larvitar"] = {earth, dark},
["Pupitar"] = {earth, dark},
["Tyranitar"] = {earth, dark},
["Lugia"] = {enigma, water},
["Ho-oh"] = {enigma, fire},
["Celebi"] = {leaf, enigma}}
function doRestoreBoostMachine(cid, b_pos, p_pos, s_pos, msg, msg2)
--doSendMagicEffect(p_pos, 247)
if isCreature(cid) then
doCreatureSetNoMove(cid, false)
doPlayerSendTextMessage(cid, 27, msg)
end
local ball_s = getTileItemById(p_pos, ballslot_run)
doTransformItem(ball_s.uid, ballslot)
local stne_s = getTileItemById(s_pos, stoneslot_run)
doTransformItem(stne_s.uid, stoneslot)
local butn_s = getTileItemById(b_pos, button_run)
doTransformItem(butn_s.uid, button)
end
local stones_required = { -- custo base de stones para boostar
[heart] = 1,
[leaf] = 1,
[water] = 1,
[venom] = 1,
[thunder] = 1,
[rock] = 1,
[punch] = 1,
[fire] = 1,
[coccon] = 1,
[crystal] = 1,
[dark] = 1,
[earth] = 1,
[enigma] = 1,
[ice] = 1,
}
local stone_increase = { -- a cada quantos boosts irá aumentar o custo de stones
[heart] = 3,
[leaf] = 3,
[water] = 3,
[venom] = 4,
[thunder] = 4,
[rock] = 3,
[punch] = 4,
[fire] = 3,
[coccon] = 2,
[crystal] = 15,
[dark] = 4,
[earth] = 4,
[enigma] = 4,
[ice] = 4,
}
function onUse(cid, item, topos, item2, frompos)
if isRunning(item.itemid) then
doPlayerSendCancel(cid, "Wait until boosting finishes.")
return true
end
if item.itemid == button then
local pbpos = topos
pbpos.x = pbpos.x + 1
local ball_slot = getTileItemById(pbpos, ballslot)
local myball = getContainerItem(ball_slot.uid, 0)
if myball.uid <= 0 or getItemWeight(myball.uid) == 0 then
doPlayerSendCancel(cid, "You need to put a pokeball in the ball slot.")
return true
end
local pokemon = getItemAttribute(myball.uid, "poke")
local boost = getItemAttribute(myball.uid, "boost") or 0
if boost >= 50 then
doPlayerSendCancel(cid, "Your pokemon is already at maximum boost.")
return true
end
local stnpos = pbpos
stnpos.x = stnpos.x - 2
local stone_slot = getTileItemById(stnpos, stoneslot)
local stone = getContainerItem(stone_slot.uid, 0)
if stone.uid <= 0 then
doPlayerSendCancel(cid, "You need to put a stone in the stone slot.")
return true
end
if not isStone(stone.itemid) then
doPlayerSendCancel(cid, "Please, put only stones in the stone slot.")
return true
end
if not isInArray(boost_stones[pokemon], stone.itemid) then
local cancelstr = "Sorry, you are not using the correct stone."
if #boost_stones[pokemon] > 1 then
local stonesused = ""
cancelstr = cancelstr.." This pokemon needs "
for su = 1, #boost_stones[pokemon] do
local n = doCorrectString(getItemNameById(boost_stones[pokemon][su]))
if su == #boost_stones[pokemon] then
stonesused = stonesused.." or "..getArticle(n).." "..n..""
elseif su == 1 then
stonesused = stonesused..""..getArticle(n).." "..n..""
else
stonesused = stonesused..", "..n..""
end
end
cancelstr = cancelstr..""..stonesused.." to be boosted."
else
cancelstr = cancelstr.." This pokemon needs a "..doCorrectString(getItemNameById(boost_stones[pokemon][1])).." to be boosted."
end
doPlayerSendCancel(cid, cancelstr)
return true
end
local removeStones = 0
local extraStones = math.floor(boost / stone_increase[stone.itemid])
local required_stones = stones_required[stone.itemid] + extraStones
local boosts = 0
local availableStones = 0
for a = 0, getContainerSize(stone_slot.uid) - 1 do
local it = getContainerItem(stone_slot.uid, a)
if it.uid > 0 then
if not isStone(it.itemid) then
doPlayerSendCancel(cid, "Please, put only stones in the stone slot.")
return true
end
if it.itemid ~= stone.itemid then
doPlayerSendCancel(cid, "Please, put only one type of stone in the stone slot.")
return true
end
availableStones = availableStones + it.type
end
end
for a = 1, availableStones do
if required_stones > 0 then
required_stones = required_stones - 1
if required_stones <= 0 then
boosts = boosts + 1
removeStones = removeStones + stones_required[stone.itemid] + extraStones
if boost + boosts <= 49 then
extraStones = math.floor((boost + boosts) / stone_increase[stone.itemid])
required_stones = stones_required[stone.itemid] + extraStones
end
end
end
end
if required_stones > 0 and boosts == 0 then
doPlayerSendCancel(cid, "You need more stones to boost this pokemon.")
return true
end
for b = 1, removeStones do
local i = getContainerItem(stone_slot.uid, 0)
doChangeTypeItem(i.uid, i.type - 1)
end
doSetItemAttribute(myball.uid, "boost", boost + boosts)
local msg = "Mensagem que vai aparecer ao boost
"
local downpos = getThingPos(cid)
downpos.y = downpos.y + 1
local mypos = getThingPos(cid)
doTeleportThing(cid, downpos, false)
doTeleportThing(cid, mypos, false)
doTransformItem(ball_slot.uid, ballslot_run)
doTransformItem(stone_slot.uid, stoneslot_run)
doTransformItem(item.uid, button_run)
doCreatureSetNoMove(cid, true)
doCreatureAddCondition(cid, boostcondition)
addEvent(doRestoreBoostMachine, 3000, cid, getThingPos(item.uid), getThingPos(ball_slot.uid), getThingPos(stone_slot.uid), msg, msg2)
return true
end
end
Editado Setembro 12 por PkNfan
info
Grupo: Príncipe
Registrado: 19/08/10
Posts: 4k
Reputação: +1.1k
Gênero: Masculino

1 - nao n tem, mas eh bemmmm simplis fazer esse npc ^^
2 - oia.. eles mudaram tanto aquilo na atualizaçao das ilhas laranjas, q acredito eu q n ta igual n ^^
@zeref
eh o brun owna muito... foda... eu fiz o script aki tb, soh alterei algumas coisas mas blz hehe ja agradeço a ele pela function kk
info
Grupo: Barão
Registrado: 01/05/11
Posts: 234
Reputação: +43
Gênero: Masculino

@Slicer ou brun123
Conseguem fazer o sistema
de cada pokemon tem seu boost?
eu edito todos pokes de acordo com a pxg ![]()
info
Grupo: Visconde
Registrado: 24/07/12
Posts: 265
Reputação: +15

Ficou perfeito! Valeu por trazer para o forum esse script. Muito bom mesmo. Sendo que está incompleto em pequenos fatores, mas isso é fácil de resolver. Os slot não fecham na hora do boost e nem exibe a animação, mas só adicionar as funções. Valeu ai.
[12/09/2012 18:10:12] [Error - LuaScriptInterface::loadFile] data/actions/scripts/boost.lua:89: unexpected symbol near ','
[12/09/2012 18:10:12] [Warning - Event::loadScript] Cannot load script (data/actions/scripts/boost.lua)
[12/09/2012 18:10:12] data/actions/scripts/boost.lua:89: unexpected symbol near ','
Linha 89 tava com uma "," a mais
["Golem"] = {earth,, rock},
Mas mesmo concertando isso não exibe a animação e nem os slots fecham ao boosta.
[12/09/2012 18:20:38] [Error - Action Interface]
[12/09/2012 18:20:38] data/actions/scripts/boost.lua:onUse
[12/09/2012 18:20:38] Description:
[12/09/2012 18:20:38] data/actions/scripts/boost.lua:317: attempt to perform arithmetic on a nil value
[12/09/2012 18:20:38] stack traceback:
[12/09/2012 18:20:38] data/actions/scripts/boost.lua:317: in function <data/actions/scripts/boost.lua:215>






info
Grupo: Campones
Registrado: 21/01/11
Posts: 47
Reputação: +40
Char no Tibia: Mino Lisarb
[12/09/2012 12:53:36] [Warning - BaseEvents::loadFromXml] Cannot open actions.xml file.
[12/09/2012 12:53:36] Line: 231, Info: Extra content at the end of the document
se souberem porque deu isso fala ae ^^ se nao souberem ... sem problema ...